home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue39 / slimmer / D3B.LOG < prev    next >
Encoding:
Text File  |  1998-09-09  |  2.9 KB  |  74 lines

  1.  
  2. If there are global longstring, variant or interface references,
  3. these will be cleared in the try..finally of the unit. Good.
  4.  
  5. Finalization:  AutoGlobalP := pointer(longint(@UnitGlobal)
  6. :00424B58 55             push   ebp
  7. :00424B59 8BEC           mov    ebp,esp
  8. :00424B5B 33C0           xor    eax,eax
  9. :00424B5D 55             push   ebp
  10. :00424B5E 68B14B4200     push   00424BB1
  11. :00424B63 64FF30         push   fs:dword ptr [eax]
  12. :00424B66 648920         mov    fs:[eax],esp
  13. :00424B69 FF0548674200   inc    dword ptr [00426748]
  14. :00424B6F 7532           jne    INITTEST.00424BA3 (00424BA3
  15. :00424B71 B844674200     mov    eax,00426744
  16. :00424B76 83C004         add    eax,00000004
  17. :00424B79 A340674200     mov    [00426740],eax
  18. testinit.33:  UnitGlobal := 0;
  19. :00424B7E 33C0           xor    eax,eax
  20. :00424B80 A344674200     mov    [00426744],eax
  21. :00424B85 B830674200     mov    eax,00426730
  22. :00424B8A E89DF6FDFF     call   @VarClr
  23. :00424B8F B82C674200     mov    eax,0042672C
  24. :00424B94 E857FAFDFF     call   @IntfClear
  25. :00424B99 B828674200     mov    eax,00426728
  26. :00424B9E E8E9E9FDFF     call   @LStrClr
  27. :00424BA3 33C0           xor    eax,eax
  28. :00424BA5 5A             pop    edx
  29. :00424BA6 59             pop    ecx
  30. :00424BA7 59             pop    ecx
  31. :00424BA8 648910         mov    fs:[eax],edx
  32. :00424BAB 68B84B4200     push   00424BB8
  33. :00424BB0 C3             ret
  34. :00424BB1 E97AE4FDFF     jmp    @HandleFinally
  35. :00424BB6 EBF8           jmp    INITTEST.00424BB0 (00424BB0
  36. testinit.36: end.
  37. :00424BB8 5D             pop    ebp
  38. :00424BB9 C3             ret
  39.  
  40. If there are global longstring, variant or interface references,
  41. there will be another empty try..finally in the init section.
  42. Not so good....
  43.  
  44. initialization: initialization
  45. :00424BBC 55             push   ebp
  46. :00424BBD 8BEC           mov    ebp,esp
  47. :00424BBF 33C0           xor    eax,eax
  48. :00424BC1 55             push   ebp
  49. :00424BC2 68F84B4200     push   00424BF8
  50. :00424BC7 64FF30         push   fs:dword ptr [eax]
  51. :00424BCA 648920         mov    fs:[eax],esp
  52. :00424BCD 832D4867420001 sub    dword ptr [00426748],000000
  53. :00424BD4 7314           jnb    INITTEST.00424BEA (00424BEA
  54. testinit.24:  AutoGlobalP := pointer(longint(@UnitGlobal) +
  55. :00424BD6 B844674200     mov    eax,00426744
  56. :00424BDB 83C004         add    eax,00000004
  57. :00424BDE A340674200     mov    [00426740],eax
  58. testinit.25:  UnitGlobal := 0;
  59. :00424BE3 33C0           xor    eax,eax
  60. :00424BE5 A344674200     mov    [00426744],eax
  61. :00424BEA 33C0           xor    eax,eax
  62. :00424BEC 5A             pop    edx
  63. :00424BED 59             pop    ecx
  64. :00424BEE 59             pop    ecx
  65. :00424BEF 648910         mov    fs:[eax],edx
  66. :00424BF2 68FF4B4200     push   00424BFF
  67. :00424BF7 C3             ret
  68. :00424BF8 E933E4FDFF     jmp    @HandleFinally
  69. :00424BFD EBF8           jmp    INITTEST.00424BF7 (00424BF7
  70. testinit.27: finalization
  71. :00424BFF 5D             pop    ebp
  72. :00424C00 C3             ret
  73.  
  74.